package main

import (
    "fmt"
	_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
	"gf-websocket/internal/cmd"

	// "github.com/gogf/gf/v2/database/gdb"
	// "github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gctx"
	// "github.com/gogf/gf/v2/os/glog"
)

// func main() {
//     var ctx = gctx.New()
//     fmt.Println(g.Cfg().Get(ctx, "server.address"))

// 	dsn, err := g.Cfg().Get(ctx, "database.default.link")
// 	if err != nil {
// 		glog.Fatalf(ctx, "获取数据库配置失败：%v", err)
// 	}

//     fmt.Println(dsn.String())

// 	// // 连接数据库
// 	configNode := gdb.ConfigNode{Type: "mysql", Link: dsn.String()}
// 	// fmt.Println(configNode)
// 	db, err := gdb.New(configNode)
// 	if err != nil {
// 		glog.Fatalf(ctx, "创建实例失败：%v", err)
// 	}
// 	_, err = db.Query(ctx, "SELECT 1")
// 	if err != nil {
// 		glog.Fatalf(ctx, "连接失败：%v", err)
// 	}

// 	glog.Info(ctx, "🎉 配置文件读取成功 + 数据库连接正常！")
// }

// func main() {
// 	var ctx = gctx.GetInitCtx()

	// 检查数据库配置
	// if db, err := gdb.Instance(); err != nil {
	// 	glog.Fatalf(ctx, "Failed to get database instance: %v", err)
	// } else {
		// 使用 db 执行 SQL 查询或 Ping 操作来验证连接
		// if _, err := db.Query(ctx, "SELECT 1"); err != nil {
		// 	glog.Fatalf(ctx, "Failed to query database: %v", err)
		// }
		
// 		fmt.Println("数据库连接成功")
// 		// 或者用 Ping 来测试连接
// 		// if err := db.Ping(ctx); err != nil {
// 		// 	glog.Fatalf(ctx, "Failed to ping database: %v", err)
// 		// }
// 	}

// 	// ... 其他代码
// }

func main() {
	cmd.Main.Run(gctx.New())
	fmt.Println("服务启动成功")
}